- SocketCreate
- SocketClose
- SocketConnect
- SocketIsConnected
- SocketIsReadable
- SocketIsWritable
- SocketTimeouts
- SocketRead
- SocketSend
- SocketTlsHandshake
- SocketTlsCertificate
- SocketTlsRead
- SocketTlsReadAvailable
- SocketTlsSend
- WebRequest
- SendFTP
- SendMail
- SendNotification
WebRequest
La funzione invia una richiesta HTTP ad un server specificato. La funzione ha due versioni:
1. Invio richieste semplici di tipo "key=value" usando l'header Content-Type: application/x-www-form-urlencoded.
int WebRequest(
|
2. Invio di una richiesta di qualunque tipo specificando il personalizzato set di headers per una interazione più flessibile con vari servizi Web.
int WebRequest(
|
Parametri
metodo
[in] metodo HTTP.
url
[in] URL.
headers
[in] Richiedi intestazioni di tipo "chiave: valore", separate da un'interruzione di riga "\\ r \\ n".
cookie
[in] Valore del cookie.
referente
[in] Valore dell'intestazione Referer della richiesta HTTP.
timeout
[in] Timeout in millisecondi.
data[]
[in] Array di dati del corpo del messaggio HTTP.
data_size
[in] Dimensione dell'array di dati[].
result[]
[out] Un array contenente dati di risposta del server.
result_headers
[out] Intestazioni di risposta del server.
Valore restituito
Codice di risposta del server HTTP o -1 per un errore.
Nota
Per utilizzare la funzione WebRequest(), aggiungere gli indirizzi dei server richiesti nell'elenco di URL consentiti nella scheda "Expert Advisors" della finestra "Opzioni". La porta del server viene selezionata automaticamente sulla base del protocollo specificato - 80 per "http://" e 443 per "https://".
La funzione WebRequest() è sincrona, il che significa che interrompe l'esecuzione del programma e attende la risposta dal server richiesto. Poiché i ritardi nella ricezione di una risposta possono essere elevati, la funzione non è disponibile per le chiamate dagli indicatori, poiché gli indicatori vengono eseguiti in un thread comune condiviso da tutti gli indicatori e charts su un unico simbolo. Il ritardo delle prestazioni dell'indicatore su uno dei charts di un simbolo può interrompere l'aggiornamento di tutti i charts dello stesso simbolo.
La funzione può essere chiamata solo da Expert Advisors e script, poiché vengono eseguiti nei relativi thread di esecuzione. Se provi a chiamare la funzione da un indicatore, GetLastError() restituirà l'errore 4014 - "Funzione non consentita".
WebRequest() non può essere eseguito nel Tester di strategia.
Esempio:
void OnStart()
|